/* eslint-disable no-shadow */

/**
 * 获取班次数量
 * @param {object} search   查询参数
 * @returns 区域数量
 */
export function count({ search }) {
  return RSocket.rr({
    route: 'shifts.count',
    args: { search },
  });
}

/**
 * 获取班次
 * @param {string} cityId 城市Id
 * @param {object} args   查询和分页参数
 * @returns 区域列表
 */
export function search({ search, pg }) {
  return RSocket.rs({
    route: 'shifts',
    args: {
      search,
      pg,
    },
  });
}

/**
 * 查询价格
 * @param {*}
 */
export function getPriceInfo(id) {
  return RSocket.rr({
    route: `prices.${id}`,
  });
}

/**
 *  删除班次
 * @param {object} id
 */
export function shiftDelete(id) {
  return RSocket.rr({
    route: `shifts.${id}.delete`,
  });
}

/**
 *  创建班次
 * @param {object} id
 */
export function shiftCreate(data) {
  return RSocket.rr({
    route: 'shifts.set.create',
    data: {
      ...data,
    },
  });
}

/**
 *  更新班次
 * @param {object} id
 */
export function update(data) {
  return RSocket.rr({
    route: 'shifts.update',
    data: {
      ...data,
    },
  });
}

/**
 * @func 查询指定班次生成设置
 */
export function isHasShift(id, args) {
  return RSocket.rr({
    route: `shifts.set.${id}`,
    args,
  });
}

/**
 * @func 更新班次生成设置
 */
export function updateRsShift(data) {
  return RSocket.rr({
    route: 'shifts.set.update',
    data,
  });
}

/**
 * @func 判断该线路线是否有未完成的拼车订单
 */
export function existRsOrder(args) {
  return RSocket.rr({
    route: 'rsorders.exist.order',
    args: { ...args },
  });
}

/**
 * @func 更新指定班次时间
 */
export function updateShiftTime(args, data) {
  return RSocket.rr({
    route: 'shifts.update.shift.time',
    args: { ...args },
    data: { ...data },
  });
}
